<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div>
    <a href="./12.1.3%20视口位置.html" target="topName1" >a标签</a>
    <br/>
    <!--1.执行这行代码的结果就如同用户点击了一个 href 属性为"http://www.wrox.com"，target 属
          性为"topFrame"的链接。如果有一个窗口名叫"topFrame"，则这个窗口就会打开这个 URL；否则就
          会打开一个新窗口并将其命名为"topFrame"。第二个参数也可以是一个特殊的窗口名，比如_self、
          _parent、_top 或_blank。
        2如果 window.open()的第二个参数不是已有窗口，则会打开一个新窗口或标签页。
    -->
    <button onclick="openWindow()">openWindow</button>
</div>
</body>
<script>
    /**导航与打开新窗口
     * 1.window.open()方法可以用于导航到指定 URL，也可以用于打开新浏览器窗口这个方法接收4
     *   个参数：要加载的 URL、目标窗口、特性字符串和表示新窗口在浏览器历史记录中是否替代当前加载页
     *   面的布尔值。通常，调用这个方法时只传前 3 个参数，最后一个参数只有在不打开新窗口时才会使用。
     * 2.如果 window.open()的第二个参数是一个已经存在的窗口或窗格（frame）的名字，则会在对应的
     *   窗口或窗格中打开 URL。
     * 3.第三个参数，即特性字符串，用于指定新窗口的配置。如果没有传第三个参数，则新窗口（或标签页）
     *   会带有所有默认的浏览器特性（工具栏、地址栏、状态栏等都是默认配置）。如果打开的不是新窗口，
     *   则忽略第三个参数。
     *   特性字符串是一个逗号分隔的设置字符串，用于指定新窗口包含的特性。
     *   window.open("http://www.wrox.com/","proxyWindow","height=400,width=400,top=10,left=10,resizable=yes");
     *   这行代码会打开一个可缩放的新窗口，大小为 400 像素×400 像素，位于离屏幕左边及顶边各 10 像
     *   素的位置。
     * 4.window.open()方法返回一个对新建窗口的引用。这个对象与普通 window 对象没有区别，只是为控制新窗口提供了方便。
     *   【例如，某些浏览器默认不允许缩放或移动主窗口，但可能允许缩放或移动通过window.open()创建的窗口。(参考以上的moveTo,scroll()之类)
     *   跟使用任何 window 对象一样，可以使用这个对象操纵新打开的窗口】
     * 5.浏览器会在用户操作下才允许创建弹窗。在网页加载过程中调用 window.open()没有效果，
     *   而且还可能导致向用户显示错误。弹窗通常可能在鼠标点击或按下键盘中某个键的情况下才能打开。
     *
     */
    function openWindow(){
        window.open('./12.1.2 窗口.html','topName2')
    }
</script>
</html>